#ifndef _REED_SOL_
#define _REED_SOL_

// Checked in test 6
extern class JER_Matrix *reed_sol_vandermonde_coding_matrix(int k, int m, int w);
// Checked in test 8
extern class JER_Matrix *reed_sol_extended_vandermonde_matrix(int rows, int cols, int w);
// Checked in test 9
extern class JER_Matrix *reed_sol_big_vandermonde_distribution_matrix(int rows, int cols, int w);

// Checked in test 38
extern int reed_sol_r6_encode(class JER_Slices *slices);

// Checked in test 37
extern class JER_Matrix *reed_sol_r6_coding_matrix(int k, int w);

// All three checked implicitly in test 38
extern void reed_sol_galois_w08_region_multby_2(unsigned char *region, int nbytes);
extern void reed_sol_galois_w16_region_multby_2(unsigned char *region, int nbytes);
extern void reed_sol_galois_w32_region_multby_2(unsigned char *region, int nbytes);

#endif
